package br.com.usjt.sge.arduino;

import java.io.File;

import org.apache.log4j.Logger;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;

import br.com.usjt.sge.util.MensagemUtil;

public class ArquivoXML {
	private static final Logger logger = Logger.getLogger(ArquivoXML.class
			.getName());

	static Serializer serializa = new Persister();

	public void arquivaXML(String situacao) {

		MensagemUtil mensagem = new MensagemUtil();
		String diretorio = mensagem.getPropriedade("arquivoXML");

		try {
			
			ArduinoXML arduino = new ArduinoXML();
			arduino.setTipo("controle");
			arduino.setStatusVaga(situacao);
			File arquivo = new File(diretorio);
			serializa.write(arduino, arquivo);

			logger.info("Arquivo gravado no diretório :" + diretorio);
			
		} catch (Exception e) {

			logger.error("Erro ao gravar informaçoes no arquivo :" + diretorio
					+ " - " + e.getMessage());
			e.printStackTrace();

		}


	}

	public ArduinoXML recuperaXML() {


		MensagemUtil mensagem = new MensagemUtil();
		String diretorio = mensagem.getPropriedade("arquivoXML");

		try {

			File fonte = new File(diretorio);
			ArduinoXML arduino;
			arduino = serializa.read(ArduinoXML.class, fonte);
			
			while (!(arduino.getStatusVaga() != "")) {
				
				arduino = serializa.read(ArduinoXML.class, fonte);
								
			}
						
			return arduino;

		} catch (Exception e) {
			logger.error("Erro ao tentar recuperar informaçoes do arquivo:"
					+ diretorio + " - " + e.getMessage());
			e.printStackTrace();
		}
		return null;


	}

}
